#include "resistencia.h"
#include "ui_resistencia.h"

resistencia::resistencia(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::resistencia)
{
    ui->setupUi(this);
}

resistencia::~resistencia()
{
    delete ui;
}
int calc_resist(int a,int b,int c){
    return ((a*10)+b)*c;
}

void resistencia::on_calcular_clicked()
{   int b1,b2,b3;
    float valor,toleran,b4;
    QString Vres,mag,tol,min,max;
    b1=ui->banda1->currentRow();//el valor seleccionado en la banda 1 0 - 9
    b2=ui->banda2->currentRow();//el valor seleccionado en la banda 1 0 - 9
    b3=ui->banda3->currentRow();//el valor seleccionado en la banda 1 0 - 9
    b3=pow(10,b3);

    switch(ui->tolerancia->currentRow()){
        case 0:
              b4=0.05;
              tol="5%";
                  break;
        case 1:
              b4=0.1;
              tol="10%";
                  break;
        case 2:
              b4=0.2;
              tol="20%";
                  break;
             }
    valor=calc_resist(b1,b2,b3); //valor de resistencia
    if(valor<1000)mag="ohm";//extraer el orden de magnitud
    if(valor>=1000 && valor < 1000000){mag="Kohm";valor=valor/1000;}
    if(valor>=1000000){mag="Mohm";valor=valor/1000000;}
    Vres.setNum(valor);
    Vres+=" ";
    Vres+=mag;
    ui->valor_resistencia->setText(Vres);//muestro el valor de la resistencia
    toleran=valor*b4;
    min.setNum(valor - toleran);
    max.setNum(valor+toleran);
    tol+=" :  ";
    tol+=min;
    tol+=" y ";
    tol+=max;
    tol+=" ";
    tol+=mag;
    ui->tol_resistencia->setText(tol);//muestro la tolerancia

}
